package xyz.sekai52799.answer.a1_a200;

import xyz.sekai52799.utils.ListNode;

import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class Question83 {
//    给定一个已排序的链表的头 head ， 删除所有重复的元素，使每个元素只出现一次 。返回 已排序的链表 。

    // 这是自己写的，再下面的是答案
//    public ListNode deleteDuplicates(ListNode head) {
//        Set<Integer> numSet = new HashSet<>();
//        ListNode result = head;
//        ListNode last = null;
//        while (head != null) {
//            if (numSet.contains(head.val)){
//                last.next = head.next;
//            } else {
//                numSet.add(head.val);
//            }
//            if (!(last == null) && last.val == head.val){
//                head = head.next;
//            } else {
//                last = head;
//                head = head.next;
//            }
//        }
//        return result;
//    }

    public ListNode deleteDuplicates(ListNode head) {
        if(head == null) return head;
        ListNode curr = head;
        while(curr.next != null && curr != null){
            if(curr.val == curr.next.val){
                curr.next = curr.next.next;
            }else{
                curr = curr.next;
            }
        }
        return head;
    }
}
